<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html XMLNS:Style>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
	<title>Platform Text 3.4 Plan</title>

<script type="text/javascript">
<!--
function linkifyBugs() {
	// Replaces plain text 'bug xyz' by a link to Eclipse's bugzilla.
	traverseLinkifyBugs(document.getElementsByTagName("body")[0]);
}
function nextNode(node) {
	if (node.nextSibling) {
		return node.nextSibling;
	} else if (node.parentNode == document.getElementsByTagName("body")[0]) {
		return null;
	} else {
		return nextNode(node.parentNode);
	}
}
function traverseLinkifyBugs(node) {
	while (node) {
		if (node.nodeType == 1/*element*/ && node.nodeName == "a") {
			node= nextNode(node);
			
		} else if (node.childNodes != null && node.childNodes.length > 0) {
			node= node.childNodes[0];
			
		} else if (node.nodeType == 3/*text*/) {
			var txt= node.data;
			var regex= /([Bb]ug\s*)([0-9]+)/;
			var res= regex.exec(txt);
			if (res) {
				var matchStart= txt.indexOf(res[0]);
				
				var beforeNode= document.createTextNode(txt.substring(0, matchStart));
				node.parentNode.insertBefore(beforeNode, node);
				
				var linkNode= document.createElement("a");
				linkNode.href= "https://bugs.eclipse.org/bugs/show_bug.cgi?id=" + res[2];
				linkNode.appendChild(document.createTextNode(res[1] + res[2]));
				node.parentNode.insertBefore(linkNode, node);
				
				node.data= txt.substr(matchStart + res[0].length);
				// continue with current (shortened) node...
			} else {
				node= nextNode(node);
			}
			
		} else {
			node= nextNode(node);
		}
	}
}

//-->
</script>

<!--
	<style>
		body {  
			background-image: url('../images/proposal.gif');
			background-repeat: repeat-y
		}
	</style>
-->
	
	 <style type="text/css">
  		Style\:committed {
  			color: blue;
  			font-style: italic;
  		}
	</style>	
	
</head>

<body text="#000000" bgcolor="#FFFFFF" onload="linkifyBugs()">

<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >

  <tr> 
    <td WIDTH="100%"> 
	<p>Last revised 11:18 CEST July 2, 2008</p>

    
      <p>This plan is under continuous refinement. Please send comments about this plan to the <a href="mailto:platform-text-dev@eclipse.org">platform-text-dev@eclipse.org</a> developer mailing list.</p>
      <p><strong>Note:</strong> The JDT Text plan is now hosted on the <a href="http://www.eclipse.org/jdt/ui/r3_4/plan.php">Combined JDT Text and JDT UI Plan</a>.</p>
      <h2><a NAME="Overall_Planning"></a>Overall Goals</h2>
      <p>This section lists the goals for Eclipse 3.4 for the Platform 
        Text component as listed on the 
        <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html">Eclipse Project 3.4 Plan</a>.
        </p>


		<p>
		<strong><a name="1"></a>[1] Performance</strong>.
		Reduce temporary memory used when typing and investigate faster ways to iterate over annotations. In addition overall performance and memory consumption will be monitored which includes the addition of new performance tests for new features.  
		</p>

		<p>
		<strong><a name="2"></a>[2] Reliability</strong>.
		Provide APIs for clients where needed, make various improvements to printing support, the vertical and overview rulers and fix outstanding issues with regex support.
		</p>
		
		<p>
		<strong><a name="3"></a>[3] Keep Eclipse vibrant and attractive</strong>.
		Deliver new productivity features like rich hovers and SWT templates. 
		</p>

	<h2><a NAME="Work_Items"></a><br>Work Items</h2>
	<p>
		This section lists the possible work items for Eclipse 3.4 for the Platform Text component
		with the [corresponding theme].
		Some of those items have a <Style:committed>higher priority</Style:committed> than others.
	</p>

	<ul>
		<li><h4><a name="rich hovers"></a>Rich Hovers (experimental) (bug 200838) [<a href="#3">3</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>links support in hovers so that you can navigate to things from there</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>investigate better interaction for making hovers sticky (mouse path)</Style:committed>
				<br>if the hover is made sticky via mouse then it must disappear automatically if the mouse leaves the hover.</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> investigate to use hovers as affordance for context sensitive actions (quick assist/fix, surround with...)</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> allow seamless transition from hover &gt; sticky hover &gt; Javadoc view</li>
		</ul>
		</li>
	
		<li><h4>Find/Replace [<a href="#2">2</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>find a solution to use line delimiters, tabs, etc. in regex replace (bug 80667)</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>allow regular expressions to match across lines (bug 44766)</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>handle dangerous regex replaces more gracefully (e.g. by restarting the line tracker) (bug 130843)</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> escape regex patterns in selection used as find string (bug 44422)</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> offer case preserving replace (bug 217060)</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4 - waiting for contribution]</font> improve Find/Replace dialog: merge into editor area, ... [mentor GSoC project]</li>
		</ul>
		</li>
	
		<li><h4><a name="Hyperlinking"></a>Hyperlinking [<a href="#3">3</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>allow to present more than one hyperlink target for a given text range</Style:committed> (bug 215473)</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> allow hyperlink to show a hover</li>
		</ul>
		</li>

		<li><h4>Ruler improvements [<a href="#2">2</a>]</h4>
		<ul>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> investigate improving the usability of icons in the vertical ruler [experimental]
			<ul>
				<li><Style:committed>fix most common layering problem (breakpoints) by changing their layer</Style:committed></li>
				<li><Style:committed>alpha blending so that underlying icons can be seen</Style:committed></li>
				<li><Style:committed>down-size images so that we can show 4 instead of one</Style:committed></li>
				<li>allow to increase ruler width</li>
				<li>allow users to configure the annotation presentation layer for each annotation</li>
				<li>finish/cleanup the roll-over annotation work that was kicked off during 3.0
	  	  	</ul>
	  	  	</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>allow to configure annotations directly in the vertical and overview rulers</Style:committed>
				<br>&rarr; works now directly from overview ruler but can currently not be done directly from vertical annotaton ruler column as we do not know on which ruler column the context menu is opened (see bug 157638).
				This will only be fixed if we have time left at the end.  
			</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>Go to line when clicking in overview ruler (bug 91722)</Style:committed></li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> improve overview ruler arming and size of active area</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> fix washed out color problem of overview ruler (bug 69053)</li>
		</ul>
		</li>
	
		<li><h4>Spell Checking [<a href="#2">2</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>fix the most severe bugs</Style:committed></li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> allow to spell-check a set of resources (write your own builder?)</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> push down spelling engine from JDT to Platform</li>
		</ul>
		</li>
	
		<li><h4>Printing [<a href="#2">2</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>print line numbers (bug 6877)</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> turn off line highlighting when printing (bug 14954)</li>
		</ul>
		</li>

		<li><h4>Performance [<a href="#1">1</a>]</h4>
		<ul>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> <Style:committed>investigate to reduce garbage when typing</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>provide API to retrieve annotations in a certain range from an annotation model</Style:committed>
				<br>&rarr; with this, clients no longer need to iterate over all annotations
			</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>mprove performance when closing an editor (don't remove each annotation one by one)</Style:committed> </li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> <Style:committed>revisit the text viewer's support for redraw, compound updates, and selection preservation</Style:committed>
			<ul>
				<li>check all setRedraw(on/off) users whether they really need that expensive operation (e.g. undo)</li>
			</ul>
			</li>
		  
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>constantly watch performance test results and act when red</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>continue to provide new tests</Style:committed></li>
		</ul>
		</li>
	  
		<li><h4>Miscellaneous</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>update web page regarding RCP text editor</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> review and commit new Templates view (bug 69581)</li> 
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> show context when dragging the vertical scroll bar (e.g. method name) [experimental]</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> <Style:committed>quick diff usability improvements in hover (Next/Prev support etc.)</Style:committed>
				<br>depends on the <a href="#rich hovers">Rich Hovers</a> item above</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> <Style:committed>change folding paradigm: no longer eat first key stroke [experimental] (bug 67500, bug 66264)</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> show more context about what's currently being edited (e.g. in a header):
			<ul>
				<li><Style:committed>bread crumb trail bar to show the context of the current selection:</Style:committed>
					<br>
					the idea is to have a bar inside the editor area at the top that shows me the path
					to the current selection:
					project &gt; src folder &gt; package &gt; class &gt; inner class &gt; method</li>
				<li>each of the segments of the bread crumb trail would be clickable and and 
					navigate to the corresponding element. A drop down would show all available targets. 'Show in...' could be used for elements
					that are outside the editor  [experimental]</li>
			</ul>
			</li>
			<li><font class="indexsub" color="#8080ff">[&gt;3.4]</font> provide LTK layer for text editing support (bug 125825, bug 149817, ...)</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>provide RegExContentProposalProvider as API (bug 149884)</Style:committed>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>enrich content assist's additional info and make it accessible (bug 38710 and bug 112921)</Style:committed>
		</ul>
		</li>
		
		<li><h4>General Items [<a href="#2">2</a>]</h4>
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <Style:committed>3.3.x maintenance work</Style:committed></li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> look at bugs with patches and review those</li>
		</ul>
		</li>
	</ul>


	<h2><br>Cross Team Issues</h2>
	<p>This section contains cross team issues that have to be clarified. The 
		concrete outcome affects the plan items listed above.</p>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> Adopt SWT's New Text Styles
		<ul>
			<li>rework Platform Text's annotation painting so that the new text styles can be used</li>
			<li>test the new text styles</li>
			<li>replace drawing strategies with the new text styles</li>
			<li>add support for the new <code>UNDERLINE_ERROR</code> style
				<br>&rarr; we want that this can be chosen by the user and that out of the box this is only used for errors and warnings.
			</li>
		</ul></li>
		<li>more TBD</li>
	</ul>
	</td>
</tr>



<tr>
	<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF"><a name="Milestone_Planning">Milestone Planning</font></font></td>
</tr>

 <tr> 
	<td WIDTH="100%">
	      
		<h3>Previous Milestones</h3>
		<p>Previous 3.4 milestones can be reviewed <a href="previous_plans.php">here</a>.</p>
		<p>See also the <a href="http://www.eclipse.org/jdt/ui/r3_4/previous_plans.php">Combined JDT Text and JDT UI 3.4 Milestone Plans</a>.</p>
		
	</td>
</tr>


  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Bug Tracking</font></font></td>
</tr>

<tr>
<td>
<ul>
<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=inbox&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=400d&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">new bug reports</a></li>
<li><a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">accepted Platform Text bug reports</a></li>
<li><a href="https://bugs.eclipse.org/bugs/query.cgi?short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&namedcmd=Assigned&newqueryname=&field0-0-0=noop&type0-0-0=noop&value0-0-0=">find a bug report</a></li>
</ul>
</td>
</tr>
</table>
<table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td colspan="4" align="left" bgcolor="#595791" valign="top" width="100%"><font face="Arial,Helvetica"><font color="#ffffff">Legend
			</font></font></td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/progress.gif" border="0" height="5" width="14" align="absmiddle"></td>
			<td width="50%">item is under development.</td>
			<td valign="top"><img src="../images/glass.gif" border="0" height="10" width="10"></td>
			<td width="50%">item is under investigation.</td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/ok.gif" border="0" height="10" width="10"></td>
			<td width="50%">item is finished.</td>
			<td valign="top">( )</td>
			<td width="50%">item is time permitted.</td>
		</tr>
		<tr>
			<td valign="center"><font class="indexsub" color="#8080ff">[xyz]</font></td>
			<td width="50%">item is deferred (&gt;) from xyz or continues in xyz.</td>
			<td valign="center"><font class="indexsub"><img src="../images/new.gif" border="0"></font></td>
			<td width="50%">new</td>
		</tr>
	</tbody>
</table>

<br>&nbsp;
</body>
</html>
